package hnevc.com.liangxiangju;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
 *
 * 字符串程序排序设计
 * String类和StringBuffer类的使用
 * 1、通过空格对字符串进行分割，得到一个数组
 * 2、因为分割后得到的数组里面的元素为字符串类型，
 * 将字符串类型转换为整数类型进行按升序排序
 * 3、打印输出
 */
public class Example04 {
    public static void main(String[] args) {
        String numStr ="20 -19 -2 100 19 56 75 81";
        int[] numArray =toIntArray(numStr);
        mySortArray(numArray); //排序
        String resultStr = arrayToString(numArray);
        System.out.println(resultStr);
    }

    //将字符串通过空格进行切割 得到字符串数组后转换为整数数组返回
    public static int[] toIntArray(String numStr){
        //将字符串通过空格进行切割
        String[] strArray = numStr.split(" ");
        //转换为整数数组
        int[] intArray =new int[strArray.length];
        for (int i=0; i<intArray.length; i++){
            intArray[i] = Integer.parseInt(strArray[i]);
        }
        return intArray;
    }
    //将整数数组按升序进行排序
    public static void  mySortArray(int[] numArr){
        Arrays.sort(numArr);
    }
    //打印输出整数数组中的所有元素
    public static  String arrayToString(int[] numArr){
        StringBuffer stringBuffer =new StringBuffer();
        for (int i =0; i<numArr.length; i++){
            if (i != numArr.length-1){
                stringBuffer.append(numArr[i]+" ");
            }else {
                stringBuffer.append(numArr[i]);
            }
        }
        return stringBuffer.toString();
    }
}
